<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OrbbecSDK: ob::Pipeline Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="orbbec_icon.png"/></td>
  <td id="projectalign">
   <div id="projectname">OrbbecSDK<span id="projectnumber">&#160;1.10.5</span>
   </div>
   <div id="projectbrief">OrbbecSDK: Software-Development-Kit for Orbbec 3D Cameras</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceob.html">ob</a></li><li class="navelem"><a class="el" href="classob_1_1Pipeline.html">Pipeline</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classob_1_1Pipeline-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">ob::Pipeline Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="Pipeline_8hpp_source.html">Pipeline.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7640a92561c0a10f34fcf874f7dbfbad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a7640a92561c0a10f34fcf874f7dbfbad">Pipeline</a> ()</td></tr>
<tr class="memdesc:a7640a92561c0a10f34fcf874f7dbfbad"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classob_1_1Pipeline.html">Pipeline</a> is a high-level interface for applications, algorithms related RGBD data streams. <a class="el" href="classob_1_1Pipeline.html">Pipeline</a> can provide alignment inside and synchronized <a class="el" href="classob_1_1FrameSet.html" title="Define the FrameSet class, which inherits from the Frame class.">FrameSet</a>. <a class="el" href="classob_1_1Pipeline.html#a7640a92561c0a10f34fcf874f7dbfbad" title="Pipeline is a high-level interface for applications, algorithms related RGBD data streams....">Pipeline()</a> no parameter version, which opens the first device in the list of devices connected to the OS by default. If the application has obtained the device through the <a class="el" href="classob_1_1DeviceList.html" title="Class representing a list of devices.">DeviceList</a>, opening the <a class="el" href="classob_1_1Pipeline.html#a7640a92561c0a10f34fcf874f7dbfbad" title="Pipeline is a high-level interface for applications, algorithms related RGBD data streams....">Pipeline()</a> at this time will throw an exception that the device has been created.  <br /></td></tr>
<tr class="separator:a7640a92561c0a10f34fcf874f7dbfbad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab0777ee6f7f5be19871877c7942cac3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#aab0777ee6f7f5be19871877c7942cac3">Pipeline</a> (std::shared_ptr&lt; <a class="el" href="classob_1_1Device.html">Device</a> &gt; device)</td></tr>
<tr class="memdesc:aab0777ee6f7f5be19871877c7942cac3"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classob_1_1Pipeline.html#aab0777ee6f7f5be19871877c7942cac3" title="Pipeline(std::shared_ptr&lt; Device &gt; device ) Function for multi-device operations. Multiple devices ne...">Pipeline(std::shared_ptr&lt; Device &gt; device )</a> Function for multi-device operations. Multiple devices need to be obtained through <a class="el" href="classob_1_1DeviceList.html" title="Class representing a list of devices.">DeviceList</a>, and the device and pipeline are bound through this interface.  <br /></td></tr>
<tr class="separator:aab0777ee6f7f5be19871877c7942cac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c539f66996938d4c35977a124df027e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a8c539f66996938d4c35977a124df027e">Pipeline</a> (const char *filename)</td></tr>
<tr class="memdesc:a8c539f66996938d4c35977a124df027e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a pipeline for playback of recorded stream files.  <br /></td></tr>
<tr class="separator:a8c539f66996938d4c35977a124df027e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f91b419f8f1d345cd4400365bc59d91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a3f91b419f8f1d345cd4400365bc59d91">~Pipeline</a> () noexcept</td></tr>
<tr class="memdesc:a3f91b419f8f1d345cd4400365bc59d91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy the pipeline object.  <br /></td></tr>
<tr class="separator:a3f91b419f8f1d345cd4400365bc59d91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a9d7d03161138a172aed81b640ea702"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a0a9d7d03161138a172aed81b640ea702">start</a> (std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt; config)</td></tr>
<tr class="memdesc:a0a9d7d03161138a172aed81b640ea702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the pipeline with configuration parameters.  <br /></td></tr>
<tr class="separator:a0a9d7d03161138a172aed81b640ea702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7addded117fbb45e5316a58481b6b534"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a7addded117fbb45e5316a58481b6b534">start</a> (std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt; config, <a class="el" href="namespaceob.html#a079312e9113ca7d35fd7ccb68fb7c7fa">FrameSetCallback</a> callback)</td></tr>
<tr class="memdesc:a7addded117fbb45e5316a58481b6b534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the pipeline and set the frameset data callback.  <br /></td></tr>
<tr class="separator:a7addded117fbb45e5316a58481b6b534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6962165254f3a2115ad24f826537c894"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a6962165254f3a2115ad24f826537c894">stop</a> ()</td></tr>
<tr class="memdesc:a6962165254f3a2115ad24f826537c894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the pipeline.  <br /></td></tr>
<tr class="separator:a6962165254f3a2115ad24f826537c894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9856611c012e32b589369e1328ed02d"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#ad9856611c012e32b589369e1328ed02d">getConfig</a> ()</td></tr>
<tr class="memdesc:ad9856611c012e32b589369e1328ed02d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pipeline configuration parameters.  <br /></td></tr>
<tr class="separator:ad9856611c012e32b589369e1328ed02d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3b2681cdd2682c6d388f144c87d1278"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1FrameSet.html">FrameSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#ae3b2681cdd2682c6d388f144c87d1278">waitForFrames</a> (uint32_t timeout_ms)</td></tr>
<tr class="memdesc:ae3b2681cdd2682c6d388f144c87d1278"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for frameset data.  <br /></td></tr>
<tr class="separator:ae3b2681cdd2682c6d388f144c87d1278"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af55b9672f4ab2cfc7935f416c614bcfd"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1Device.html">Device</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#af55b9672f4ab2cfc7935f416c614bcfd">getDevice</a> ()</td></tr>
<tr class="memdesc:af55b9672f4ab2cfc7935f416c614bcfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the device object.  <br /></td></tr>
<tr class="separator:af55b9672f4ab2cfc7935f416c614bcfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51c51f8d2dc99be1c384cc1bf4f095ab"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1Playback.html">Playback</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a51c51f8d2dc99be1c384cc1bf4f095ab">getPlayback</a> ()</td></tr>
<tr class="memdesc:a51c51f8d2dc99be1c384cc1bf4f095ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the playback object.  <br /></td></tr>
<tr class="separator:a51c51f8d2dc99be1c384cc1bf4f095ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60bdde9d3a678796ceac89ae09bb4d5a"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1StreamProfileList.html">StreamProfileList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a60bdde9d3a678796ceac89ae09bb4d5a">getStreamProfileList</a> (<a class="el" href="ObTypes_8h.html#a0bf6f74f3eaabbf4a71720b9363b2aa8">OBSensorType</a> sensorType)</td></tr>
<tr class="memdesc:a60bdde9d3a678796ceac89ae09bb4d5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the stream profile of the specified sensor.  <br /></td></tr>
<tr class="separator:a60bdde9d3a678796ceac89ae09bb4d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f675f5a53924b06869c1b9f892cdeea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a5f675f5a53924b06869c1b9f892cdeea">enableFrameSync</a> ()</td></tr>
<tr class="memdesc:a5f675f5a53924b06869c1b9f892cdeea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn on frame synchronization.  <br /></td></tr>
<tr class="separator:a5f675f5a53924b06869c1b9f892cdeea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad46ea763b174c240b15279208b9e3d4c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#ad46ea763b174c240b15279208b9e3d4c">disableFrameSync</a> ()</td></tr>
<tr class="memdesc:ad46ea763b174c240b15279208b9e3d4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn off frame synchronization.  <br /></td></tr>
<tr class="separator:ad46ea763b174c240b15279208b9e3d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4f59acb5ed8ed7db43535513fb9bcf2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBCameraParam.html">OBCameraParam</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#ad4f59acb5ed8ed7db43535513fb9bcf2">getCameraParam</a> ()</td></tr>
<tr class="memdesc:ad4f59acb5ed8ed7db43535513fb9bcf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the camera parameters.  <br /></td></tr>
<tr class="separator:ad4f59acb5ed8ed7db43535513fb9bcf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8049e3e75826e4873af2010058ad363a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBCameraParam.html">OBCameraParam</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a8049e3e75826e4873af2010058ad363a">getCameraParamWithProfile</a> (uint32_t colorWidth, uint32_t colorHeight, uint32_t depthWidth, uint32_t depthHeight)</td></tr>
<tr class="memdesc:a8049e3e75826e4873af2010058ad363a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get camera parameters by entering color and depth resolution.  <br /></td></tr>
<tr class="separator:a8049e3e75826e4873af2010058ad363a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00979f7e3cbc390548287b350dfc07c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBCalibrationParam.html">OBCalibrationParam</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a00979f7e3cbc390548287b350dfc07c7">getCalibrationParam</a> (std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt; config)</td></tr>
<tr class="memdesc:a00979f7e3cbc390548287b350dfc07c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the calibration parameters.  <br /></td></tr>
<tr class="separator:a00979f7e3cbc390548287b350dfc07c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac25d95d510c864b9d1ee7a93e9f31c74"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classob_1_1StreamProfileList.html">StreamProfileList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#ac25d95d510c864b9d1ee7a93e9f31c74">getD2CDepthProfileList</a> (std::shared_ptr&lt; <a class="el" href="classob_1_1StreamProfile.html">StreamProfile</a> &gt; colorProfile, <a class="el" href="ObTypes_8h.html#ade914070120de80d4338ee74e73dc9d5">OBAlignMode</a> alignMode)</td></tr>
<tr class="memdesc:ac25d95d510c864b9d1ee7a93e9f31c74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a list of D2C-enabled depth sensor resolutions corresponding to the input color sensor resolution.  <br /></td></tr>
<tr class="separator:ac25d95d510c864b9d1ee7a93e9f31c74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f7a9208d6a1035302993c9683cba4f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structOBRect.html">OBRect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a5f7a9208d6a1035302993c9683cba4f2">getD2CValidArea</a> (uint32_t minimumDistance, uint32_t maximumDistance=0)</td></tr>
<tr class="memdesc:a5f7a9208d6a1035302993c9683cba4f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the valid area between the minimum distance and maximum distance after D2C.  <br /></td></tr>
<tr class="separator:a5f7a9208d6a1035302993c9683cba4f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa21ee5ac861bec48247de5958c3cd704"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#aa21ee5ac861bec48247de5958c3cd704">switchConfig</a> (std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt; config)</td></tr>
<tr class="memdesc:aa21ee5ac861bec48247de5958c3cd704"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dynamically switch the corresponding config configuration.  <br /></td></tr>
<tr class="separator:aa21ee5ac861bec48247de5958c3cd704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0d1d11a72e5f803fc747017f074b18d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#aa0d1d11a72e5f803fc747017f074b18d">startRecord</a> (const char *filename)</td></tr>
<tr class="memdesc:aa0d1d11a72e5f803fc747017f074b18d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start recording.  <br /></td></tr>
<tr class="separator:aa0d1d11a72e5f803fc747017f074b18d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a550084f2d2c0ae538c3a3e6b4e55abe7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classob_1_1Pipeline.html#a550084f2d2c0ae538c3a3e6b4e55abe7">stopRecord</a> ()</td></tr>
<tr class="memdesc:a550084f2d2c0ae538c3a3e6b4e55abe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop recording.  <br /></td></tr>
<tr class="separator:a550084f2d2c0ae538c3a3e6b4e55abe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="Pipeline_8hpp_source.html#l00028">28</a> of file <a class="el" href="Pipeline_8hpp_source.html">Pipeline.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a7640a92561c0a10f34fcf874f7dbfbad" name="a7640a92561c0a10f34fcf874f7dbfbad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7640a92561c0a10f34fcf874f7dbfbad">&#9670;&#160;</a></span>Pipeline() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ob::Pipeline::Pipeline </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="classob_1_1Pipeline.html">Pipeline</a> is a high-level interface for applications, algorithms related RGBD data streams. <a class="el" href="classob_1_1Pipeline.html">Pipeline</a> can provide alignment inside and synchronized <a class="el" href="classob_1_1FrameSet.html" title="Define the FrameSet class, which inherits from the Frame class.">FrameSet</a>. <a class="el" href="classob_1_1Pipeline.html#a7640a92561c0a10f34fcf874f7dbfbad" title="Pipeline is a high-level interface for applications, algorithms related RGBD data streams....">Pipeline()</a> no parameter version, which opens the first device in the list of devices connected to the OS by default. If the application has obtained the device through the <a class="el" href="classob_1_1DeviceList.html" title="Class representing a list of devices.">DeviceList</a>, opening the <a class="el" href="classob_1_1Pipeline.html#a7640a92561c0a10f34fcf874f7dbfbad" title="Pipeline is a high-level interface for applications, algorithms related RGBD data streams....">Pipeline()</a> at this time will throw an exception that the device has been created. </p>

</div>
</div>
<a id="aab0777ee6f7f5be19871877c7942cac3" name="aab0777ee6f7f5be19871877c7942cac3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab0777ee6f7f5be19871877c7942cac3">&#9670;&#160;</a></span>Pipeline() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ob::Pipeline::Pipeline </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="classob_1_1Device.html">Device</a> &gt;&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="classob_1_1Pipeline.html#aab0777ee6f7f5be19871877c7942cac3" title="Pipeline(std::shared_ptr&lt; Device &gt; device ) Function for multi-device operations. Multiple devices ne...">Pipeline(std::shared_ptr&lt; Device &gt; device )</a> Function for multi-device operations. Multiple devices need to be obtained through <a class="el" href="classob_1_1DeviceList.html" title="Class representing a list of devices.">DeviceList</a>, and the device and pipeline are bound through this interface. </p>

</div>
</div>
<a id="a8c539f66996938d4c35977a124df027e" name="a8c539f66996938d4c35977a124df027e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c539f66996938d4c35977a124df027e">&#9670;&#160;</a></span>Pipeline() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ob::Pipeline::Pipeline </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a pipeline for playback of recorded stream files. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>The file path of the recorded stream file to be played back </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3f91b419f8f1d345cd4400365bc59d91" name="a3f91b419f8f1d345cd4400365bc59d91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f91b419f8f1d345cd4400365bc59d91">&#9670;&#160;</a></span>~Pipeline()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ob::Pipeline::~Pipeline </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destroy the pipeline object. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a0a9d7d03161138a172aed81b640ea702" name="a0a9d7d03161138a172aed81b640ea702"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a9d7d03161138a172aed81b640ea702">&#9670;&#160;</a></span>start() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Pipeline::start </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start the pipeline with configuration parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>The parameter configuration of the pipeline </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a7addded117fbb45e5316a58481b6b534" name="a7addded117fbb45e5316a58481b6b534"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7addded117fbb45e5316a58481b6b534">&#9670;&#160;</a></span>start() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Pipeline::start </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt;&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceob.html#a079312e9113ca7d35fd7ccb68fb7c7fa">FrameSetCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start the pipeline and set the frameset data callback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>The configuration of the pipeline </td></tr>
    <tr><td class="paramname">callback</td><td>The callback to be triggered when all frame data in the frameset arrives </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6962165254f3a2115ad24f826537c894" name="a6962165254f3a2115ad24f826537c894"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6962165254f3a2115ad24f826537c894">&#9670;&#160;</a></span>stop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Pipeline::stop </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stop the pipeline. </p>

</div>
</div>
<a id="ad9856611c012e32b589369e1328ed02d" name="ad9856611c012e32b589369e1328ed02d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9856611c012e32b589369e1328ed02d">&#9670;&#160;</a></span>getConfig()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt; ob::Pipeline::getConfig </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the pipeline configuration parameters. </p>
<p>Returns the default configuration if the user has not configured it</p>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;Config&gt; The configured parameters </dd></dl>

</div>
</div>
<a id="ae3b2681cdd2682c6d388f144c87d1278" name="ae3b2681cdd2682c6d388f144c87d1278"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3b2681cdd2682c6d388f144c87d1278">&#9670;&#160;</a></span>waitForFrames()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt; <a class="el" href="classob_1_1FrameSet.html">FrameSet</a> &gt; ob::Pipeline::waitForFrames </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>timeout_ms</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wait for frameset data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timeout_ms</td><td>The waiting timeout in milliseconds </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;FrameSet&gt; The waiting frameset data </dd></dl>

</div>
</div>
<a id="af55b9672f4ab2cfc7935f416c614bcfd" name="af55b9672f4ab2cfc7935f416c614bcfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af55b9672f4ab2cfc7935f416c614bcfd">&#9670;&#160;</a></span>getDevice()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt; <a class="el" href="classob_1_1Device.html">Device</a> &gt; ob::Pipeline::getDevice </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the device object. </p>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;Device&gt; The device object </dd></dl>

</div>
</div>
<a id="a51c51f8d2dc99be1c384cc1bf4f095ab" name="a51c51f8d2dc99be1c384cc1bf4f095ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51c51f8d2dc99be1c384cc1bf4f095ab">&#9670;&#160;</a></span>getPlayback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt; <a class="el" href="classob_1_1Playback.html">Playback</a> &gt; ob::Pipeline::getPlayback </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the playback object. </p>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;Playback&gt; The playback object </dd></dl>

</div>
</div>
<a id="a60bdde9d3a678796ceac89ae09bb4d5a" name="a60bdde9d3a678796ceac89ae09bb4d5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60bdde9d3a678796ceac89ae09bb4d5a">&#9670;&#160;</a></span>getStreamProfileList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt; <a class="el" href="classob_1_1StreamProfileList.html">StreamProfileList</a> &gt; ob::Pipeline::getStreamProfileList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a0bf6f74f3eaabbf4a71720b9363b2aa8">OBSensorType</a>&#160;</td>
          <td class="paramname"><em>sensorType</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the stream profile of the specified sensor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sensorType</td><td>The type of sensor </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;StreamProfileList&gt; The stream profile list </dd></dl>

</div>
</div>
<a id="a5f675f5a53924b06869c1b9f892cdeea" name="a5f675f5a53924b06869c1b9f892cdeea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f675f5a53924b06869c1b9f892cdeea">&#9670;&#160;</a></span>enableFrameSync()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Pipeline::enableFrameSync </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Turn on frame synchronization. </p>

</div>
</div>
<a id="ad46ea763b174c240b15279208b9e3d4c" name="ad46ea763b174c240b15279208b9e3d4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad46ea763b174c240b15279208b9e3d4c">&#9670;&#160;</a></span>disableFrameSync()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Pipeline::disableFrameSync </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Turn off frame synchronization. </p>

</div>
</div>
<a id="ad4f59acb5ed8ed7db43535513fb9bcf2" name="ad4f59acb5ed8ed7db43535513fb9bcf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4f59acb5ed8ed7db43535513fb9bcf2">&#9670;&#160;</a></span>getCameraParam()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBCameraParam.html">OBCameraParam</a> ob::Pipeline::getCameraParam </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the camera parameters. </p>
<dl class="section note"><dt>Note</dt><dd>If D2C is enabled, it will return the camera parameters after D2C. If not, it will return the default parameters.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structOBCameraParam.html" title="Structure for camera parameters.">OBCameraParam</a> The camera parameters </dd></dl>

</div>
</div>
<a id="a8049e3e75826e4873af2010058ad363a" name="a8049e3e75826e4873af2010058ad363a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8049e3e75826e4873af2010058ad363a">&#9670;&#160;</a></span>getCameraParamWithProfile()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBCameraParam.html">OBCameraParam</a> ob::Pipeline::getCameraParamWithProfile </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>colorWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>colorHeight</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>depthWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>depthHeight</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get camera parameters by entering color and depth resolution. </p>
<dl class="section attention"><dt>Attention</dt><dd>If D2C is enabled, it will return the camera parameters after D2C, if not, it will return to the default parameters</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">colorWidth</td><td>Width of color resolution </td></tr>
    <tr><td class="paramname">colorHeight</td><td>High of color resolution </td></tr>
    <tr><td class="paramname">depthWidth</td><td>Width of depth resolution </td></tr>
    <tr><td class="paramname">depthHeight</td><td>High of depth resolution</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structOBCameraParam.html" title="Structure for camera parameters.">OBCameraParam</a> returns camera parameters </dd></dl>

</div>
</div>
<a id="a00979f7e3cbc390548287b350dfc07c7" name="a00979f7e3cbc390548287b350dfc07c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00979f7e3cbc390548287b350dfc07c7">&#9670;&#160;</a></span>getCalibrationParam()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBCalibrationParam.html">OBCalibrationParam</a> ob::Pipeline::getCalibrationParam </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the calibration parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>The configured parameters</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structOBCalibrationParam.html" title="calibration parameters">OBCalibrationParam</a> The calibration parameters </dd></dl>

</div>
</div>
<a id="ac25d95d510c864b9d1ee7a93e9f31c74" name="ac25d95d510c864b9d1ee7a93e9f31c74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac25d95d510c864b9d1ee7a93e9f31c74">&#9670;&#160;</a></span>getD2CDepthProfileList()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt; <a class="el" href="classob_1_1StreamProfileList.html">StreamProfileList</a> &gt; ob::Pipeline::getD2CDepthProfileList </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="classob_1_1StreamProfile.html">StreamProfile</a> &gt;&#160;</td>
          <td class="paramname"><em>colorProfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#ade914070120de80d4338ee74e73dc9d5">OBAlignMode</a>&#160;</td>
          <td class="paramname"><em>alignMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a list of D2C-enabled depth sensor resolutions corresponding to the input color sensor resolution. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">colorProfile</td><td>The input color sensor resolution </td></tr>
    <tr><td class="paramname">alignMode</td><td>The input align mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>std::shared_ptr&lt;StreamProfileList&gt; A list of depth sensor resolutions </dd></dl>

</div>
</div>
<a id="a5f7a9208d6a1035302993c9683cba4f2" name="a5f7a9208d6a1035302993c9683cba4f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f7a9208d6a1035302993c9683cba4f2">&#9670;&#160;</a></span>getD2CValidArea()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structOBRect.html">OBRect</a> ob::Pipeline::getD2CValidArea </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>minimumDistance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>maximumDistance</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the valid area between the minimum distance and maximum distance after D2C. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">minimumDistance</td><td>The minimum working distance </td></tr>
    <tr><td class="paramname">maximumDistance</td><td>The maximum working distance (optional) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="structOBRect.html" title="Rectangle.">OBRect</a> The area information valid after D2C at the working distance </dd></dl>

</div>
</div>
<a id="aa21ee5ac861bec48247de5958c3cd704" name="aa21ee5ac861bec48247de5958c3cd704"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa21ee5ac861bec48247de5958c3cd704">&#9670;&#160;</a></span>switchConfig()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Pipeline::switchConfig </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="classob_1_1Config.html">Config</a> &gt;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dynamically switch the corresponding config configuration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>The updated config configuration </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa0d1d11a72e5f803fc747017f074b18d" name="aa0d1d11a72e5f803fc747017f074b18d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0d1d11a72e5f803fc747017f074b18d">&#9670;&#160;</a></span>startRecord()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Pipeline::startRecord </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start recording. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>The name of the record file </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a550084f2d2c0ae538c3a3e6b4e55abe7" name="a550084f2d2c0ae538c3a3e6b4e55abe7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a550084f2d2c0ae538c3a3e6b4e55abe7">&#9670;&#160;</a></span>stopRecord()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob::Pipeline::stopRecord </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stop recording. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>E:/Projects/Jenkins/workspace/OrbbecSDK/libobsensor/include/libobsensor/hpp/<a class="el" href="Pipeline_8hpp_source.html">Pipeline.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat May 11 2024 17:13:38 for OrbbecSDK by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
